package com.example.secondhand.service.impl;

import com.example.secondhand.common.utils.PathUtils;
import com.example.secondhand.service.FileService;
import org.springframework.stereotype.Service;
import org.springframework.web.multipart.MultipartFile;

import java.io.File;
import java.io.IOException;

@Service
public class FileServiceImpl implements FileService {

    // 文件上传实现
    public boolean uploadFile(MultipartFile multipartFile, String fileName) throws IOException {
        // 获取文件保存目录
        File fileDir = new File(PathUtils.getClassLoadRootPath() + "/pic");
        // 如果目录不存在，则创建目录
        if (!fileDir.exists()) {
            if (!fileDir.mkdirs()) {
                return false;
            }
        }
        // 构建文件对象
        File file = new File(fileDir.getAbsolutePath() + "/" + fileName);
        // 如果文件已存在，则删除
        if (file.exists()) {
            if (!file.delete()) {
                return false;
            }
        }
        // 创建新文件并写入上传的文件内容
        if (file.createNewFile()) {
            multipartFile.transferTo(file);
            return true;
        }
        return false;
    }
}
